package nsoft.swing.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target( { ElementType.TYPE, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface APanel {

	String name() default "";

	String[] properties() default {};
/**
 * should be in format of Layout(parm1,param1,param3,...),can be prop:val or val,val.,...
 * @return
 */
	String layout() default "FlowLayout";

	AComponent[] components() default {};
/**
 * are for laying out his panel, can be prop:val or val,val.,...
 * @return
 */
	String[] layoutProperties() default {};

	AButton[] buttons() default {};
	
	String parent() default "";
	/**
	 * fields o consider as components,should be tagged with SwingComponent or swingPanel.
	 * @return
	 */
	String[] fileds() default {};
	//SwingPanel[] panels(); waiting for java 7.
}
